package com.cy.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import com.cy.bfzcommons.mapper.CourierMapper;
import com.cy.bfzcommons.pojo.Courier;
import com.cy.bfzcommons.service.CourierService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import java.util.List;

@Service
public class CourierServiceImpl implements CourierService {
    @Autowired
    private CourierMapper courierMapper;

    //根据id查询地址
    @Override
    public List<Courier> getCourier(Integer userId) {

        QueryWrapper<Courier> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("user_id",userId);
        List<Courier> courierList = courierMapper.selectList(queryWrapper);
        return courierList;
    }

    //增加地址
    @Override
    public void addCourier(Courier courier) {
            courierMapper.insert(courier);
    }

    //删除地址
    @Override
    public String deleteCourier(Integer courier_id) {
//        Map<String,Object> map=new HashMap<>();
//        map.put("courier_id", courier_id);
//        courierMapper.deleteByMap(map);
        courierMapper.deleteById(courier_id);
        return null;
    }
    //更新
    @Override
    public void updateCourier(Courier courier) {
        courierMapper.updateById(courier);
    }

    //前台业务---------------------------------------------------------------------------------
    //增加地址
    @Override
    public Integer addCouriervue(Courier courier) {
        if (courier.getCourierId() == null) {
            Courier courier1 = cheakCourier(courier);
            if(courier1==null) return null;
            int insert = courierMapper.insert(courier1);
            if(insert==0){
                return null;
            }
            return insert;
        }
        return null;
    }
    //更新
    @Override
    public Integer updateCouriervue(Courier courier) {
        if(courier.getCourierId()==null){
            return null;
        }
        Courier courier1 = cheakCourier(courier);
        if(courier1==null){
            return null;
        }
        int i = courierMapper.updateById(courier1);
        if(i==0){
            return null;
        }
        return i;
    }
    //删除地址
    @Override
    public Integer deleteCouriervue(Integer courierId) {
        int i = courierMapper.deleteById(courierId);
        if(i==0){
            return null;
        }
        return i;
    }
    //获取所有地址(yingg
    public List<Courier> getCouriervue(Integer userId) {
        QueryWrapper<Courier> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("user_id",userId).orderByDesc("courier_id");
        List<Courier> courierList = courierMapper.selectList(queryWrapper);
        return courierList;
    }

    //非空判断
    public Courier cheakCourier(Courier courier){
        if(!StringUtils.hasLength(courier.getReceiverProvince())){
           return null;
        }
        if(!StringUtils.hasLength(courier.getReceiverDistrict())){
            return null;
        }
        if(!StringUtils.hasLength(courier.getReceiverCity())){
            return null;
        }
        if(!StringUtils.hasLength(courier.getReceiverAddress())){
            return null;
        }
        if(!StringUtils.hasLength(courier.getName())){
            return null;
        }
        if(courier.getPhone()==null){
            return null;
        }
       return courier;
    }
}
